package com.lumis.utils;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;

import com.lumis.dto.Lumi;

@Component
public class LumisUtils {
	
	public List<Integer> getListaIdsLumis(List<Lumi> lumis) {	
		List<Integer> ListaIdsLumis = new ArrayList<Integer>();
		Iterator<Lumi> iter = lumis.iterator();
		while (iter.hasNext()){
			ListaIdsLumis.add(iter.next().getId());
		};
		return ListaIdsLumis;
	}

	public ModelAndView insertarNavegacion(ModelAndView mav, List<Integer> listaidsMismoFiltro, int id) {
		int index =listaidsMismoFiltro.indexOf(id);
		
		if(index == 0){
			mav.addObject("idLumiAnterior", null);
		}else{
			mav.addObject("idLumiAnterior", listaidsMismoFiltro.get(index - 1));
		}
		
		if(index == listaidsMismoFiltro.size() - 1){
			mav.addObject("idLumiSiguiente", null);
		}else{
			mav.addObject("idLumiSiguiente", listaidsMismoFiltro.get(index + 1));
		}
		
		mav.addObject("idLumiPrimera", listaidsMismoFiltro.get(0));
		mav.addObject("idLumiUltima", listaidsMismoFiltro.get(listaidsMismoFiltro.size() - 1));	
		mav.addObject("posicionLumiActual", listaidsMismoFiltro.indexOf(id) + 1);
		mav.addObject("posicionLumiUltima", listaidsMismoFiltro.indexOf(listaidsMismoFiltro.get(listaidsMismoFiltro.size()-1)) + 1);
		
		return mav;
	}

}
